﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork
{
   public class Entity<TId> //实体类
    {
        // 静态计数器，所有实例共享
        // private static TId _count ;



        // 只读属性，确保生成后不可修改
        public TId Id { get;  }

        //public Entity()
        //{
        //    // 先赋值当前计数，再自增（保证第一个对象Id为0）
        //    //Id = _count;
        //    int temp = _count;
        //    _count = temp + 1;
        //}


        //1. 允许外部指定Id的构造函数（推荐）
        public Entity(TId id)
        {
            Id = id; // 直接使用外部传入的任意类型Id
        }

        //2. 无参构造函数（可选，需确保T支持默认值）
        public Entity()
        {
            Id = default(TId); // 使用T的默认值（如null、0等）
        }

        public virtual void Eat()
        {
            Console.WriteLine("老师吃饭");
        }
    }

}
